package unq.persistencia;

/**
 * TODO: description
 */
public class Partido {
    private int id;

    private int golesPrimerEquipo;

    private int golesSegundoEquipo;

    protected Equipo primerEquipo;

    protected Equipo segundoEquipo;

    protected Equipo ganador;

    public int getId() {
        return this.id;
    }

    public void setId(final int id) {
        this.id = id;
    }

    public Equipo getPrimerEquipo() {
        return this.primerEquipo;
    }

    public void setPrimerEquipo(final Equipo primerEquipo) {
        this.primerEquipo = primerEquipo;
    }

    public Equipo getSegundoEquipo() {
        return this.segundoEquipo;
    }

    public void setSegundoEquipo(final Equipo segundoEquipo) {
        this.segundoEquipo = segundoEquipo;
    }

    public int getGolesPrimerEquipo() {
        return this.golesPrimerEquipo;
    }

    public void setGolesPrimerEquipo(final int golesPrimerEquipo) {
        this.golesPrimerEquipo = golesPrimerEquipo;
    }

    public int getGolesSegundoEquipo() {
        return this.golesSegundoEquipo;
    }

    public void setGolesSegundoEquipo(final int golesSegundoEquipo) {
        this.golesSegundoEquipo = golesSegundoEquipo;
    }

    public Partido() {

    }

    public Partido(final Equipo local, final Equipo visitante, final int golesLocal, final int golesVisitante) {
        this.setLocal(local);
        this.setVisitante(visitante);
        this.setGolesLocal(golesLocal);
        this.setGolesVisitante(golesVisitante);
        this.setGanador(this.equipoGanador());
    }

    public int getGolesLocal() {
        return this.golesPrimerEquipo;
    }

    public void setGolesLocal(final int golesLocal) {
        this.golesPrimerEquipo = golesLocal;
    }

    public int getGolesVisitante() {
        return this.golesSegundoEquipo;
    }

    public void setGolesVisitante(final int golesVisitante) {
        this.golesSegundoEquipo = golesVisitante;
    }

    public Equipo getLocal() {
        return this.primerEquipo;
    }

    public void setLocal(final Equipo local) {
        this.primerEquipo = local;
    }

    public Equipo getVisitante() {
        return this.segundoEquipo;
    }

    public void setVisitante(final Equipo visitante) {
        this.segundoEquipo = visitante;
    }

    public Equipo equipoGanador() {
        if (this.getGolesLocal() > this.getGolesVisitante()) {
            return this.getLocal();
        } else {
            if (this.getGolesLocal() < this.getGolesVisitante()) {
                return this.getVisitante();
            } else {
                return null;
            }
        }

    }

    public Equipo getGanador() {
        return this.ganador;
    }

    public void setGanador(final Equipo ganador) {
        this.ganador = ganador;
    }
}
